The Transmission Control Protocol (TCP) is widely used as a standard protocol for data communication via a network. TCP has a function of passing a sequence of data passed from a higher layer, to a lower layer per unit of transmission called “segment”. TCP also has a function of rearranging, in transmission order, a sequence of data passed from the lower layer, and passing the data to the higher layer.
In TCP, fast retransmission control using duplicate acknowledgements is available. A duplicate acknowledgement is an acknowledgement for notifying that a segment has not arrived at a receiver terminal due to, for example, packet loss or discarding as a result of error detection in the lower layer. Immediately upon receiving a segment transmitted after the segment that has not arrived, the receiver terminal transmits a duplicate acknowledgement to the transmitter. In the case where the transmitter communication terminal, which executes fast retransmission control, receives a plurality of duplicate acknowledgements, the transmitter communication terminal performs retransmission control for the segment notified as not having arrived at the receiver terminal. Usually, the transmitter terminal performs retransmission control in the case of receiving three duplicate acknowledgements.
Patent Literature (PTL) 1 describes the following technique for reducing a delay time due to retransmission: a transmitter terminal transmits forcible retransmission data beforehand on the assumption that transmission data might not arrive at a receiver terminal or might incorrectly arrive at the receiver terminal.